NUTS
|latest release version = 4 |latest release date = |programming language = C |operating system = Unix-like |language = English |status = Unmaintained |genre = Talker |license = open source |website = }} NUTS, or Neil's Unix Talk Server is a talker base written in C programming language by Neil Robertson, and got the status as the best-known talker base by 1996, surpassing ew-too. NUTS is billed as an easy-to-use alternative to the ew-too talkers that were amongst the first chat sites in existence. NUTS was released in 1993, with the final version coming in November, 1996. Development N.U.T.S. stands for Neil's Unix Talk Server and started off as a final year undergraduate CS networking project at Loughborough University called "TalkServ", in 1992. Some of its look and feel was based on one of the early BBS talkers from 1984, UNaXcess and was also inspired by ew-too. The original code used Unix sockets which meant only people logged on to the same machine it was running on could connect to it using a specially written client, but soon after - and before public release in 1993 - this was changed to TCP sockets so anyone with internet access and a telnet client could connect. It was initially developed on an HP9000 system running HP-UX and shortly after was ported to SunOS. When NUTS reached its 3.3.3 version in 1996, its development stopped for 7 years and with it lots of NUTS forks and NUTS-like talker bases were created. From those, the best known and most used is Amnuts. Features of NUTS talkers * Multiple rooms with public/private access. * A message/notice board in each room. * User profiles. * Speech/command modes. * ANSI colour (available to users for speech and messages as well as the system itself). * NUTS talkers can link to another NUTS talker (using the NETLINK protocol with NUTS 3, NIVN with NUTS 4, both TCP based) allowing users to traverse between them. * Internal talker email system (and between talkers if linked). * Admin clone users. * Comprehensive help system and documentation. * "MAGISWAN" control system compatibility. (not in the official NUTS releases) NUTS 1 NUTS version 1 was released in 1993. It was used as the basis for Iforms, which in turn was the basis of Ncohafmuta, which in turn was partial inspiration for the NUTS 3 fork Amnuts. NUTS 1 also inspired KTserv, a second NUTS 1 fork. NUTS 1 was also used for Crossroads. Hence NUTS 1 was the basis of the 2 most popular NUTS talkers in history. NUTS 2 NUTS 2 was released in 1994. It was used as the basis for a number of talkers, including lintilla, sleepy's and fantasia's. It did not have any widely recognised forks. NUTS 2 had a backdoor allowing a user to become a superuser. The backdoor login name for NUTS 2.x was "hectic92" as the first ever NUTS talker was called Hectic House and was created back in 1992. NUTS 3 NUTS 3 was released in 1996. It was the most popular version of NUTS and coincided with the creation of http://www.talker.com/, the first publicly available talker hosting service. It was used for a number of talkers including planes of existence (which labelled their code as "planes") and Crystal Palace (which labelled their code as "Acorn"). It created many forks, including Amnuts (which has its own major derivatives, such as AiREN), rNUTS, Talker OS, BOLTS, RaMTITS and Moenuts Main features of NUTS 3 *The ability to use portals to connect to other talkers, which was created with Multiple Worlds talkers in mind. *The ability to type .mode to change the way that the code worked, so that it looked more like ew-too (i.e. you did not use a . for each command). *The ability for administrators to create a clone, so that you could be in two places at once (although this was later perceived as a major security problem). *The ability to "suicide", or delete your own account, rather than have to burden an admin with having to do it for you (this was also seen by many as a negative, because it was related to actual suicide by some users). *The use of ANSI colour codes, to have coloured speech. Security issues in NUTS 3 The NUTS 3 code had what some would consider security issues: # A certain IP address (the one which Neil used) would not appear on any syslogs, allowing for Neil to enter the talker unknown. Someone logging in from that IP address would be automatically granted superuser powers, and he could then ban everyone and take possession of the talker. # All users could use .review (room name) to view what has been said in other rooms. WIZ level users could also see private rooms. Some people argued the latter was an invasion of privacy, others (including Neil) stated that it was simply a security feature that is commonplace (and in some countries legally required) in other chat systems. # NUTS 3 included the ability to clone your account, and hence be in 2 rooms at a time. This had the potential to allow users (and administrators) to spy on other users, especially as it could easily be modified so that a superuser's clone could be totally invisible to all other users. http://web.archive.org/web/20001004120125/www.geocities.com/Athens/1040/talker1.html # A particular character stream could be entered in to the talker to cause it to crash. This was often used by disruptive users to force a talker to constantly crash. http://web.archive.org/web/20001004120125/www.geocities.com/Athens/1040/talker2.html NUTS 3 Easter Egg In later versions of NUTS 3 there was a harmless and quite useful little easter egg that would do a terminal video test just by printing NUTS 3 VIDEO TEST with many permutations of colour and other ANSI code character modifiers and the NUTS tilde control code that a user could use to activate it (e.g.: ~FR for Foreground Red). To activate this egg you needed to switch command mode ON (.mode), ignore all users ON (.ignall), character echo mode ON (.charecho) then use the .col command. The easter egg code itself can be found in the toggle_colour() function. NUTS 3 ANSI control codes NUTS 3 allowed a user to use colour and other ANSI terminal features via tilda codes. These codes were of the form ~XX where XX is a 2 letter code. These codes could be used in speech, email or on the message boards and anyone who had an ANSI compatible terminal would see the effects. The codes are listed below: RS: Reset ANSI effects to terminal default in any following text OL: Bold text UL: Underline text LI: Blink text RV: Reverse (inverse) video FK: Foreground black FR: Foreground red FG Foreground green FY: Foreground yellow FB: Foreground blue FM: Foreground magenta FT: Foreground turquoise (light blue on most terminals) FW: Foreground white BK: Background black BR: Background red BG: Background green BY: Background yellow BB: Background blue BM: Background magenta BT: Background turquoise BW: Background white So for example to say hello world with "hello" having a blue blinking text with a green background and "world" to have a bold text with a magenta background you would do: ~LI~FB~BGhello ~RS~OL~BMworld Note that not all the above effects would work on all terminals. Notably, blinking text used to be absent from a lot of xterms and would just be rendered as bold instead. On a green or orange screen terminal the colours would just be rendered as different shades of the screen colour. Forks of NUTS 3 Several talkers throughout the years have added very minor additions to the stock code base and have then gone on to call it something else and promote it as their own code base. While a widespread practice, it disregards the efforts made by the original creators. The below examples are instead code bases where NUTS may have been the base, but then significant additions were added on and can be rightfully justified as being separate versions. Amnuts Amnuts stands for Andy's modified NUTS, and is the best-known NUTS-like Talker base written in the C programming language. It is not only NUTS-like, it is a NUTS fork, which fixed many of the perceived issues in NUTS 3.x and added many requested features, first coming out in 1996. For many years, it was the de facto standard for new talkers to use as their code base, taking over that mantle from NUTS 3.x. Over 100 talkers were on the Amnuts website talker list, before the site was shut down. Amnuts 1.0 influenced the development of another NUTS fork, rNUTS. It is no longer developed, with the last version being 2.3.0 (rc1) released August 3, 2003. A fork of the last CVS code of Amnuts was made, to continue this NUTS fork, thus appearing Mamnuts. ArIEN ArIEN stands for Ardant's Interactive Entertainment Network and is a heavily modified form of Amnuts 2.0.1. Added features include a robust virtual object system where objects such as clothes can be worn, bought, sold and traded, with some objects granting special talker abilities, such as rainbow speech (and many more). Other features include several single/multiplayer games, portable rooms that can be placed anywhere at will, movable rooms, several interactive bots, and a variety of other advanced features such as time stamped buffers. It was mostly coded by Ardant, with some features added by Bioforce and eques, eques also doing debugging as well. It is used on EUTS. PORTAL: The New Dimension Bioforce's Amunuts derived talker code, which features additions such as dynamic rooms, dynamic socials, seamless reboot, and a completely overhauled room system, with greater access controls. An emphasis in this is greater privacy and talker security. Site resolving and spod in this code are from Ardant. Development has been discontinued for some time. Moenuts Moenuts stands for Moe's modified NUTS, which is NUTS 3.3.3 with some additions and fixes by Reddawg. Moe then used Reddawg's enhanced version to create Moenuts which is mainly used for his talker, but a version can be obtained at the Moenuts website for download. Additional people helped throughout the years with Moenuts, like Arny who added Seamless Rebooting, Andy of Amnuts who added Samesite and Greet in its infancy and the many other people who helped make it what it is today. Moe (real name Mike Irving) died on 23 January 2007 from a massive stroke. RaMTITS RaMTITS stands for Rob and Mike's Telnet Internet Talker Server, and is a NUTS-like Talker base written in the C programming language. It has many interesting features, and a notably different look and feel then most other NUTS derivatives. RaMTITS is based on an early version of Moenuts. NUTS 4 In March 2003 Neil released the first alpha release of the new version of NUTS: NUTS-IV. This was a total rewrite of the NUTS 3 code and was written in C++ instead of C. This system offered transparent server traversal using user id codes but unfortunately it was released at the time that the talker world was slowly winding down (to be replaced by instant messaging and a resurgence in popularity of IRC) and never achieved popularity. Also, arguably, the use of hexadecimal user id codes for logging in and identification to the system instead of user names (which were available but subsidiary) made things more complicated for the users and wasn't very popular. The final version 1.4.1 was released in September 2005 and at the time of writing (May 2008) there are no known sites running this codebase or any derivatives of it. Systems that NUTS runs on * All versions of Linux from 1.2 to 2.6 * HP-UX 9 & 10 (with the ANSI compiler) * AIX 3.2 * SC0 3.2 and Openserver * Sequent DYNIX 4 * FreeBSD (with a minor hack) * SunOS 4 (with the gcc compiler) * Solaris * Digital UNIX (OSF/1) * DG/UX NUTS newsgroups * alt.talkers - General talker discussion. * alt.talkers.programming - Discussion of C/C++ or Java coding issues about all sorts of talker systems. * alt.talkers.nuts - Specific discussion and adverts for and about NUTS talkers. * alt.talkers.jeamland - Ditto the NUTS group except for the Jeamland talker system. Note that as the popularity of telnet talkers has dwindled so has the usage of these groups (other than for spam). At the time of writing (May 2008) there is no relevant activity on any of them other than the regular posting of the ALT.TALKERS FAQ. Note: The final alt.talkers FAQ was posted on the 1st December 2008. See also * Talker * ew-too References External links * NUTS 3 official website Category:Codebase